import request from '@/config/axios'

// 物料采购计划明细 VO
export interface PurchaseMaterialDetailVO {
  id: number // 采购详情ID
  planId: number // 采购计划ID
  purchasePlanNo: string // 采购计划编号
  purchaseType: string // 采购类型SERVICE/EQUIPMENT/NGINEERING/MATERIAL/DIRECT/MINOR
  materialCode: string // 物料编码（NC编码）
  materialName: string // 物料名称（与NC编码中对应上）
  unit: string // 单位
  specification: string // 规格(产品的最小包装规格)
  acceptanceStandard: string // 物料/收货标准
  brandRequirements: string // 产品要求或参考品牌
  packagingRequirements: string // 送货/产品外包装要求
  estimatedQuantity: number // 预估采购数量（年用量）
  estimatedUnitPrice: number // 预估单价/限价（元/含税）
  totalAmount: number // 合计
  remark: string // 备注
}

// 物料采购计划明细 API
export const PurchaseMaterialDetailApi = {
  // 查询物料采购计划明细分页
  getPurchaseMaterialDetailPage: async (params: any) => {
    return await request.get({ url: `/erp/purchase-material-detail/page`, params })
  },

  // 查询物料采购计划明细详情
  getPurchaseMaterialDetail: async (id: number) => {
    return await request.get({ url: `/erp/purchase-material-detail/get?id=` + id })
  },

  // 新增物料采购计划明细
  createPurchaseMaterialDetail: async (data: PurchaseMaterialDetailVO) => {
    return await request.post({ url: `/erp/purchase-material-detail/create`, data })
  },

  // 修改物料采购计划明细
  updatePurchaseMaterialDetail: async (data: PurchaseMaterialDetailVO) => {
    return await request.put({ url: `/erp/purchase-material-detail/update`, data })
  },

  // 删除物料采购计划明细
  deletePurchaseMaterialDetail: async (id: number) => {
    return await request.delete({ url: `/erp/purchase-material-detail/delete?id=` + id })
  },

  // 导出物料采购计划明细 Excel
  exportPurchaseMaterialDetail: async (params) => {
    return await request.download({ url: `/erp/purchase-material-detail/export-excel`, params })
  },
}